//引入一个包
const path = require('path')//处理路径模块
//自动生成html文件
const HTMLWebpackPlugin = require('html-webpack-plugin')
//引入clean插件
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
//webpack中的所有信息都应该写在module.exports中
module.exports = {
    //指定入口文件
    entry:"./src/index.ts",
    //指定打包文件所在的目录
    output:{
        //指定打包文件目录
        path:path.resolve(__dirname,'dist'),
        //打包后的文件
        filename:'bundle.js'
    },
    //指定webpack打包时要使用的模块
    module:{
        //指定loader的规则
        rules:[
            {
                //指定生效的文件
                test:/\.ts$/,
                //要使用的loader
                use:'ts-loader',
                //要排除的文件
                exclude:/node-modules/
            }
        ]
    },
    mode:'development', //设置mode   development为开发环境，production为生产环境
    //配置webpack插件
    plugins:[
        new CleanWebpackPlugin(),//可以打包前先清除dist文件里的内容
        new HTMLWebpackPlugin({
            // title:'自定义文件'，//可以设置自动生成html文件的title
            template:'./src/index.html' //根据这个模板生成html
        })
    ],
    //用来设置引用模块文件类型
    resolve:{
        extensions:['.ts','.js']
    }
}